using IcsSEMCtrl.Event.Device;
using System;
namespace Lifter.Event.Lifter
{
	[Serializable]
	public class VehicleEvent : DeviceEvent
	{
		public enum VehicleEventType
		{
			RUN_IDLE_DOWN = 1,
			ORDER_ENABLE,
			CST_PRESENCE,
			VEHICLE_STATE,
			SOURCE_ABNORMAL,
			DEST_ABNORMAL,
			CANCEL_COMPLETED,
			CANCEL_DENIED,
			VEHICLE_CALL,
			VEHICLE_CALL_LOC,
			FAULTCODE,
			FAULT,
			VEHICLE_LOC,
			CARRIERID
		}
		public static readonly string CLASS = "VehicleEvent";
		public static readonly string SPECIFIC_SUBJECT = "Vehicle";
		public new static readonly string SUBJECT = DeviceEvent.SUBJECT + "." + VehicleEvent.SPECIFIC_SUBJECT;
		private string vehicleId;
		private VehicleEvent.VehicleEventType vehicleEvents;
		public string VehicleId
		{
			get
			{
				return this.vehicleId;
			}
			set
			{
				this.vehicleId = value;
			}
		}
		public VehicleEvent.VehicleEventType VehicleEvents
		{
			get
			{
				return this.vehicleEvents;
			}
			set
			{
				this.vehicleEvents = value;
			}
		}
		public VehicleEvent(string deviceId, string deviceType, string vehicleId, VehicleEvent.VehicleEventType vehicleEvents) : base(deviceId, deviceType)
		{
			this.vehicleId = vehicleId;
			this.vehicleEvents = vehicleEvents;
		}
		protected new string CreateSubject(string id)
		{
			return VehicleEvent.FormSubject(id);
		}
		public new static string FormSubject(string id)
		{
			return VehicleEvent.SUBJECT + "." + id;
		}
	}
}
